Skip to main content

Meeting rooms 2

Meeting Rooms II

Given an array of meeting time intervals consisting of start and end times, find the minimum number of conference rooms required.

// split out intervals into start and end
// sort them
// iterate through, if starts[i] < ends[endsItr] then rooms++, else endsItr++
class Solution {
public int minMeetingRooms(Interval[] intervals) {
int[] starts = new int[intervals.length];
int[] ends = new int[intervals.length];
for (int i = 0; i < intervals.length; i++) {
starts[i] = intervals[i].start;
ends[i] = intervals[i].end;
}
Arrays.sort(starts);
Arrays.sort(ends);
int rooms = 0, endsItr = 0;
for (int i = 0; i < starts.length; i++) {
if (starts[i] < ends[endsItr]) {
rooms++;
} else {
endsItr++;
}
}
return rooms;
}
}